{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Tensor RNN for long term forecasting demo \n",
    "- seq2seq architecture with tensor RNN cell\n",
    "- variable length of forecasting horizon\n",
    "- flexible temporal high order structure"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### step 1: Flags for training configuration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Flags configuration loaded ...\n"
     ]
    }
   ],
   "source": [
    "\"\"\"Functions for downloading and reading time series data.\"\"\"\n",
    "\n",
    "from __future__ import absolute_import\n",
    "from __future__ import division\n",
    "from __future__ import print_function\n",
    "\n",
    "import numpy as np\n",
    "from six.moves import xrange  # pylint: disable=redefined-builtin\n",
    "\n",
    "from tensorflow.contrib.learn.python.learn.datasets import base\n",
    "from tensorflow.python.framework import random_seed\n",
    "\n",
    "import tensorflow as tf\n",
    "from tensorflow.contrib import rnn\n",
    "from reader import read_data_sets\n",
    "from model_seq2seq import *\n",
    "from trnn import *\n",
    "import numpy \n",
    "from train_config import *\n",
    "\n",
    "\n",
    "flags = tf.flags\n",
    "flags.DEFINE_string(\"model\", \"TLSTM\",\n",
    "          \"Model used for learning.\")\n",
    "flags.DEFINE_string(\"data_path\", \"./data.npy\",\n",
    "          \"Data input directory.\")\n",
    "flags.DEFINE_string(\"save_path\", \"./log/tlstm/\",\n",
    "          \"Model output directory.\")\n",
    "flags.DEFINE_bool(\"use_sched_samp\", False,\n",
    "                  \"Use scheduled sampling in training\")\n",
    "flags.DEFINE_integer(\"inp_steps\", 12, \"burn in steps\")\n",
    "flags.DEFINE_integer(\"out_steps\", None, \"test steps\")\n",
    "flags.DEFINE_integer(\"hidden_size\", 8, \"hidden layer size\")\n",
    "flags.DEFINE_float(\"learning_rate\", 1e-3, \"learning rate\")\n",
    "flags.DEFINE_float(\"decay_rate\", 0.8, \"learning rate\")\n",
    "flags.DEFINE_integer(\"rank\", 1, \"rank for tt decomposition\")\n",
    "\n",
    "FLAGS = flags.FLAGS\n",
    "print('Flags configuration loaded ...')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### step 2: Read flags and data into memory"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "loading time series ...\n",
      "input type  <class 'numpy.ndarray'> (1000, 100, 1)\n",
      "normalize to (0-1)\n",
      "----------------------------------------------------------------------------------------------------\n",
      "|input steps| 12 |out steps| 88 | hidden size| 8 |learning rate| 0.001 |rank val| [1]\n",
      "----------------------------------------------------------------------------------------------------\n"
     ]
    }
   ],
   "source": [
    "'''\n",
    "To forecast time series using a recurrent neural network, we consider every \n",
    "row as a sequence of short time series.\n",
    "'''\n",
    "\n",
    "# Training Parameters\n",
    "config = TrainConfig()\n",
    "config.hidden_size = FLAGS.hidden_size\n",
    "config.learning_rate = FLAGS.learning_rate\n",
    "config.decay_rate = FLAGS.decay_rate\n",
    "config.rank_vals = [FLAGS.rank]\n",
    "\n",
    "# Scheduled sampling [optional]\n",
    "if FLAGS.use_sched_samp:\n",
    "    config.sample_prob = tf.get_variable(\"sample_prob\", shape=(), initializer=tf.zeros_initializer())\n",
    "sampling_burn_in = 400\n",
    "\n",
    "# Training Parameters\n",
    "training_steps = config.training_steps\n",
    "batch_size = config.batch_size\n",
    "display_step = 500\n",
    "inp_steps = config.inp_steps\n",
    "out_steps = FLAGS.out_steps\n",
    "\n",
    "\n",
    "# Read Dataset\n",
    "dataset, stats = read_data_sets(FLAGS.data_path, True, inp_steps, out_steps)\n",
    "\n",
    "# Network Parameters\n",
    "num_input = stats['num_input']  # dataset data input (time series dimension: 3)\n",
    "num_steps = stats['num_steps']\n",
    "\n",
    "if out_steps is None:\n",
    "    # Forecast for the rest if horizon is not set\n",
    "    out_steps = num_steps - inp_steps\n",
    "\n",
    "# Print training config\n",
    "print('-'*100)\n",
    "print('|input steps|', inp_steps, '|out steps|', out_steps ,'|', 'hidden size|',config.hidden_size, '|learning rate|',\n",
    "     config.learning_rate, '|rank val|', config.rank_vals)\n",
    "print('-'*100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### visualize time series samples\n",
    "load the raw data into the notebook to visualize"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "loading time series ...\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1261bf588>,\n",
       " <matplotlib.lines.Line2D at 0x1261bf780>,\n",
       " <matplotlib.lines.Line2D at 0x1261bf9b0>]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nhwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x125f599b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "%matplotlib inline\n",
    "\n",
    "print(\"loading time series ...\")\n",
    "data = np.load(FLAGS.data_path)\n",
    "# Expand the dimension if univariate time series\n",
    "if (np.ndim(data)==1):\n",
    "        data = np.expand_dims(data, axis=1)\n",
    "plt.plot(data[0:3,:,0].T)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Step 3: Build neural network models\n",
    "Building seq2seq model for training/validation/testing,\n",
    "validation and testing models are shared,\n",
    "scheduled sampling is by default off "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training -->\n",
      "          Create Encoder ...\n",
      "          Create Decoder ...\n",
      "Testing -->\n",
      "          Create Encoder ...\n",
      "          Create Decoder ...\n"
     ]
    }
   ],
   "source": [
    "# tf Graph input\n",
    "X = tf.placeholder(\"float\", [None, inp_steps, num_input])\n",
    "Y = tf.placeholder(\"float\", [None, out_steps, num_input])\n",
    "\n",
    "# Decoder output\n",
    "Z = tf.placeholder(\"float\", [None, out_steps, num_input])\n",
    "\n",
    "Model = globals()[FLAGS.model]\n",
    "with tf.name_scope(\"Train\"):\n",
    "    with tf.variable_scope(\"Model\", reuse=None):\n",
    "        train_pred = Model(X, Y, True,  config)\n",
    "with tf.name_scope(\"Test\"):\n",
    "    with tf.variable_scope(\"Model\", reuse=True):\n",
    "        test_pred = Model(X, Y, False,  config)\n",
    "\n",
    "\n",
    "# Define loss and optimizer\n",
    "train_loss = tf.sqrt(tf.reduce_mean(tf.squared_difference(train_pred, Z)))\n",
    "test_loss = tf.sqrt(tf.reduce_mean(tf.squared_difference(test_pred, Z)))\n",
    "\n",
    "# Exponential learning rate decay \n",
    "global_step = tf.Variable(0, trainable=False)\n",
    "starter_learning_rate = config.learning_rate\n",
    "learning_rate = tf.train.exponential_decay(starter_learning_rate, global_step,\n",
    "                                           2000, config.decay_rate, staircase=True)\n",
    "optimizer = tf.train.RMSPropOptimizer(learning_rate)\n",
    "train_op = optimizer.minimize(train_loss,global_step=global_step)\n",
    "\n",
    "# Scheduled sampling params\n",
    "eps_min = 0.1 # minimal prob\n",
    "\n",
    "# Write summary\n",
    "train_summary = tf.summary.scalar('train_loss', train_loss)\n",
    "valid_summary = tf.summary.scalar('valid_loss', test_loss)\n",
    "lr_summary = tf.summary.scalar('learning_rate', learning_rate)\n",
    "\n",
    "# Initialize the variables (i.e. assign their default value)\n",
    "init = tf.global_variables_initializer()\n",
    "\n",
    "# Saver for the model and loss\n",
    "saver = tf.train.Saver()\n",
    "hist_loss =[]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Training loop\n",
    "This may take a while, training loss is displayed at every 500 steps, \n",
    "use GPU can speed up training"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Step 1, Minibatch Loss= 0.3581\n",
      "Validation Loss: 0.358401\n",
      "Step 500, Minibatch Loss= 0.1571\n",
      "Validation Loss: 0.177071\n",
      "Step 1000, Minibatch Loss= 0.1217\n",
      "Validation Loss: 0.138196\n",
      "Step 1500, Minibatch Loss= 0.0765\n",
      "Validation Loss: 0.0742668\n",
      "Step 2000, Minibatch Loss= 0.0499\n",
      "Validation Loss: 0.0448969\n",
      "Step 2500, Minibatch Loss= 0.0361\n",
      "Validation Loss: 0.0344974\n",
      "Step 3000, Minibatch Loss= 0.0345\n",
      "Validation Loss: 0.0342724\n",
      "Step 3500, Minibatch Loss= 0.0313\n",
      "Validation Loss: 0.0310374\n",
      "Step 4000, Minibatch Loss= 0.0309\n",
      "Validation Loss: 0.029179\n",
      "Step 4500, Minibatch Loss= 0.0242\n",
      "Validation Loss: 0.0236377\n",
      "Step 5000, Minibatch Loss= 0.0251\n",
      "Validation Loss: 0.0234974\n",
      "Step 5500, Minibatch Loss= 0.0228\n",
      "Validation Loss: 0.0224949\n",
      "Step 6000, Minibatch Loss= 0.0232\n",
      "Validation Loss: 0.0228354\n",
      "Step 6500, Minibatch Loss= 0.0188\n",
      "Validation Loss: 0.0173227\n",
      "Step 7000, Minibatch Loss= 0.0174\n",
      "Validation Loss: 0.0170635\n",
      "Step 7500, Minibatch Loss= 0.0170\n",
      "Validation Loss: 0.0167153\n",
      "Step 8000, Minibatch Loss= 0.0160\n",
      "Validation Loss: 0.0160243\n",
      "Step 8500, Minibatch Loss= 0.0120\n",
      "Validation Loss: 0.0119758\n",
      "Step 9000, Minibatch Loss= 0.0119\n",
      "Validation Loss: 0.0114475\n",
      "Step 9500, Minibatch Loss= 0.0109\n",
      "Validation Loss: 0.0092613\n",
      "Step 10000, Minibatch Loss= 0.0101\n",
      "Validation Loss: 0.0105227\n",
      "Optimization Finished!\n",
      "Testing Loss: 0.0111071\n",
      "Model saved in file: ./log/tlstm/\n"
     ]
    }
   ],
   "source": [
    "# Start training\n",
    "with tf.Session() as sess:\n",
    "    # Merge all the summaries and write them out to /log/tlstm (by default)\n",
    "    merged = tf.summary.merge_all()\n",
    "    summary_writer = tf.summary.FileWriter(FLAGS.save_path,sess.graph)\n",
    "\n",
    "    # Run the initializer\n",
    "    sess.run(init)    \n",
    "    \n",
    "    for step in range(1, training_steps+1):\n",
    "        batch_x, batch_y, batch_z = dataset.train.next_batch(batch_size)\n",
    "        # Run optimization op (backprop)\n",
    "        sess.run(train_op, feed_dict={X: batch_x, Y: batch_y, Z:batch_z})\n",
    "        if step % display_step == 0 or step == 1:\n",
    "            # Calculate batch loss \n",
    "            summary, loss = sess.run([merged,train_loss], feed_dict={X: batch_x,Y: batch_y, Z:batch_z})\n",
    "            run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)\n",
    "            run_metadata = tf.RunMetadata()\n",
    "            summary_writer.add_run_metadata(run_metadata, 'step%03d' % step)\n",
    "            summary_writer.add_summary(summary, step)\n",
    "            print(\"Step \" + str(step) + \", Minibatch Loss= \" + \\\n",
    "                  \"{:.4f}\".format(loss) )\n",
    "            \n",
    "            # Calculate validation\n",
    "            valid_enc_inps = dataset.validation.enc_inps.reshape((-1, inp_steps, num_input))\n",
    "            valid_dec_inps = dataset.validation.dec_inps.reshape((-1, out_steps, num_input))\n",
    "            valid_dec_outs = dataset.validation.dec_outs.reshape((-1, out_steps, num_input))\n",
    "            va_sum, va_loss = sess.run([valid_summary,test_loss], \\\n",
    "                                       feed_dict={X: valid_enc_inps, Y: valid_dec_inps, Z: valid_dec_outs})\n",
    "            summary_writer.add_summary(va_sum, step) \n",
    "            print(\"Validation Loss:\", va_loss)\n",
    "            \n",
    "            # Overfitting\n",
    "            hist_loss.append(va_loss)\n",
    "            if len(hist_loss)>20 and va_loss > np.mean(hist_loss):\n",
    "                print(\"Early stopping: step \", step)\n",
    "                break\n",
    "          \n",
    "            #Update sampling prob\n",
    "            if FLAGS.use_sched_samp and step > sampling_burn_in:\n",
    "                sample_prob = max(eps_min, 1.0-step/(2*training_steps))\n",
    "                sess.run(tf.assign(config.sample_prob, sample_prob))\n",
    "                print('Sampling prob:', sample_prob)\n",
    "\n",
    "    print(\"Optimization Finished!\")\n",
    "\n",
    "    # Calculate accuracy for test datasets\n",
    "    test_enc_inps = dataset.test.enc_inps.reshape((-1, inp_steps, num_input))\n",
    "    test_dec_inps = dataset.test.dec_inps.reshape((-1, out_steps, num_input))\n",
    "    test_dec_outs = dataset.test.dec_outs.reshape((-1, out_steps, num_input))\n",
    "\n",
    "    \n",
    "    # Fetch the predictions \n",
    "    fetches = {\n",
    "        \"true\":Z,\n",
    "        \"pred\":test_pred,\n",
    "        \"loss\":test_loss\n",
    "    }\n",
    "    test_vals = sess.run(fetches, feed_dict={X: test_enc_inps, Y: test_dec_inps, Z: test_dec_outs})\n",
    "    print(\"Testing Loss:\", test_vals[\"loss\"])\n",
    "\n",
    "    # Save the variables to disk.\n",
    "    save_path = saver.save(sess, FLAGS.save_path)\n",
    "    print(\"Model saved in file: %s\" % save_path)\n",
    "    # Save predictions \n",
    "    numpy.save(save_path+\"predict.npy\", (test_vals[\"true\"], test_vals[\"pred\"]))\n",
    "    # Save config file\n",
    "    with open(save_path+\"config.out\", 'w') as f:\n",
    "        f.write('hidden_size:'+ str(config.hidden_size)+'\\t'+ 'learning_rate:'+ str(config.learning_rate)+ '\\n')\n",
    "        f.write('train_error:'+ str(loss) +'\\t'+ 'valid_error:' + str(va_loss) + '\\t'+ 'test_error:'+ str(test_vals[\"loss\"]) +'\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Visualize predictions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1262d05f8>]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nGRSRydqD3nUAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1262d0518>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "y_true = test_vals[\"true\"]\n",
    "y_pred = test_vals[\"pred\"]\n",
    "plt.plot(y_true[0,:,0].T,':')\n",
    "plt.plot(y_pred[0,:,0].T,'-')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
